This invention relates to error reduction in digital computation, and more particularly, to methods and means for preserving the significance of digits of any number resulting from the arithmetic combination of two other numbers (operands) by a decimal machine, i.e. a machine executing arithmetic operations in base ten.
Among the factors affecting computational accuracy are those of significance precision, roundoff, truncation, and representational format. The factors are interrelated. In the following paragraphs, the influence of these upon "digit significance" and upon the invention are briefly considered. Significance and Precision in Numbers Defined
In this specification, each number N.sub.i may be positionally denoted by:
N.sub.i =n.sub.i (n-1).sub.i (n-2).sub.i. . . (n-k).sub.i. . . (n-n+1).sub.i, where n.sub.i is the digit having the highest order and (n-n+1).sub.i is the digit of lowest positional order. In this connection, each number is said to possess the attributes of "significance" and "precision". PA1 1. If the digits of decimal numbers are represented in an excess capacity plural bit code, then such excess capacity can be assigned in a form of unique symbols of digit nonsignificance. PA1 2. The logical/arithmetic combination of the corresponding digit (n-k) from two different numbers (n-k).sub.1,(n-k).sub.2, at least one of which is nonsignificant, then the resulting digit (n-k) is nonsignificant. PA1 3. A carry C may be propagated over j nonsignificant digits from (n-k) to [n-(k-j)] for those operations of subtraction using complementary addition. PA1 4. A carry c may be propagated from (n-k) to [n-(k-1)] if only one of a digit pair is nonsignificant and the significant digit magnitude satisfies a rounding rule such as round if a digit exceeds a threshold b.
Although the concept of significant digits is familiar to persons in the technical arts, the specification of which digits in a number are significant is often ambiguous. Indeed, some of the definitions turn on the form of number representation. For example, in floating point arithmetic, it is common to ignore leading zeroes and count any other digit as significant if the error is less than one-half a unit in that radix place. Another definition of significance are those digits or a number beginning with the first nonzero digit on the left and ending with the last nonzero digit on the right. A variation of this latter definition is one which holds significance to be the digits of the number that end with the last digit to the right that is not zero or is a zero that is considered correct. The starting point of this invention, assumes that for a given machine computation system, that significance and nonsignificance can be specified. Relatedly, "precision" is taken to be the degree of discrimination with which a quantity is stated. More particularly, the degree of precision is the "number" of significant digits in a multidigit number.